package com.gl.order.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gl.order.entity.TOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gl.order.entity.docs.OrderWord;
import com.gl.order.entity.dto.OrderExcelDto;
import com.gl.order.entity.dto.OrderPageDto;
import com.gl.order.entity.dto.PeripheralProductsPageDto;
import com.gl.order.entity.excel.OrderExcel;
import com.gl.order.entity.dto.DeliverPageDto;
import com.gl.order.entity.vo.DeliverPageVo;
import com.gl.order.entity.vo.OrderPageVo;
import com.gl.order.entity.vo.PeripheralProductsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 订单表 Mapper 接口
 * </p>
 *
 * @author lsy
 * @since 2021-06-17
 */
public interface TOrderMapper extends BaseMapper<TOrder> {

    IPage<OrderPageVo> pageOfOrder(Page<OrderPageVo> page, OrderPageDto dto);

    IPage<DeliverPageVo> deliverPageOfOrder(Page<DeliverPageVo> page, DeliverPageDto dto);

    IPage<PeripheralProductsVo> peripheralProductsPageOfOrder(Page<PeripheralProductsVo> page, PeripheralProductsPageDto dto);

    List<OrderExcel> getExcelInfo(@Param("param") OrderExcelDto param);

    OrderWord getOrderWordData(String id);

}
